package com.xframe.xdal.core.model;

/**
 * 功能描述:所有模型的接口定义
 *
 * @author xufeng
 * @version 1.0
 * @date 2022-09-26
 */
public interface IModel{

    /**
     * 返回该模型的ObjectId，该Id必须是在该类型中唯一
     *
     * @return ObjectId
     */
    Object getObjectId();
    /**
     * 设置一个模型的ObjectId
     * @param objectId 对象ID
     *
     */
    void setObjectId(Object objectId);
    /**
     * 返回该对象的数据库PK的字段名称
     *
     * @return ObjectId
     */
    String findPkField();
    /**
     * 返回该模型的Map Key
     *
     * @return ObjectId
     */
    Object getMapkey();
    /**
     * 返回该模型的ESId，该ESId必须是在该类型中唯一
     *
     * @return EsId
     */
    String getEsId();
}
